//
//  VisitorLoginView.swift
//  weibo_yaoye
//
//  Created by mac on 15/5/11.
//  Copyright (c) 2015年 mac. All rights reserved.
//

import UIKit
//*********  step (22 实现登陆注册协议 由base控制器执行  --><#本地#>)
protocol VisitorLoginViewDelegate: NSObjectProtocol
{
    //*********  step (23 实现注册  --><#本地#>)
    func visitorViewRegiesterViewDidselected()
    //*********  step (24  实现登陆--><#本地#>)
    func visitorViewLoginViewDidselected()
    
}

class VisitorLoginView: UIView {

   //*********  step (12 把控件拖进来  BaseTableViewController)
    @IBOutlet weak var iconView: UIImageView!
    @IBOutlet weak var messageLabel: UILabel!
    @IBOutlet weak var smallIconView: UIImageView!
     //*********  step (25 定义代理  --><#本地#>)
    weak var delegate: VisitorLoginViewDelegate?

     //*********  step (13 提供一个结构给每个控制器设置没有网络时候的界面  BaseTableViewController)
//    func setupInfo(imageName: String, message:String)
//    {
//        iconView.image = UIImage(named: imageName)
//        messageLabel.text = message
//    }
    
     //*********  step (16 重写下面方法来设置没有网络的时候的界面  HomeTableViewController)
    func setupInfo(imageName: String, message:String, isHome: Bool = false)
    {
        
        iconView.hidden = !isHome
        if isHome
        {
            iconView.image = UIImage(named: imageName)

        }
        else
        {   //这样可以放大图片 因为荣圆圈图片的所占的尺寸比较大
            smallIconView.image = UIImage(named: imageName)
        }
        messageLabel.text = message
       //   *********  step (20 动画拨不播放的判断-->HomeTableViewController)
        isHome ? startAnimation() : endAnimation()
        
        
    }
    
    //*********  step (18  让home的圆圈转起来--><#本地#>)
    func startAnimation()
    {
        let anim = CABasicAnimation(keyPath: "transform.rotation")
        anim.toValue = 2 * M_PI
        anim.repeatCount = MAXFLOAT
        anim.duration = 20.0
        smallIconView.layer.addAnimation(anim, forKey: nil)
    }
     //*********  step (19 让动画停止  --><#本地#>)
    func endAnimation()
    {
       smallIconView.layer.removeAllAnimations()
    }
    
    @IBAction func register() {
         //*********  step (26 代理方法代理实现  --><#本地#>)
        delegate?.visitorViewRegiesterViewDidselected()

    }
    @IBAction func login() {
         //*********  step (27   -->BaseTableViewController)
        delegate?.visitorViewLoginViewDidselected()

    }

}
